home *** CD-ROM | disk | FTP | other *** search
- Path: wdl1.wdl.loral.com!dst17!mab
- From: mab@dst17.wdl.loral.com (Mark A Biggar)
- Newsgroups: comp.lang.ada,comp.lang.c++
- Subject: Re: on OO differnces between Ada95 and C++
- Date: 21 Feb 1996 22:30:02 GMT
- Organization: Loral Western Development Labs
- Distribution: world
- Message-ID: <4gg6da$8jk@wdl1.wdl.loral.com>
- References: <4gbq7q$g08@qualcomm.com> <4gdidj$10f5@watnews1.watson.ibm.com>
- NNTP-Posting-Host: dst17.wdl.loral.com
-
- In article <4gdidj$10f5@watnews1.watson.ibm.com> ncohen@watson.ibm.com writes:
- > package Parent is
- > type Auxiliary_Type is ...;
- > type P is tagged ...;
- > procedure Op (X: in out P; Y: in Auxiliary_Type);
- > ...
- > end Parent;
- >
- > package Parent.Child is
- > type D is new P with ...;
- > procedure Op (X: in out D; Y: in Auxiliary_Type);
- > ...
- > end Parent.Child;
- >
- >A compilation unit that mentions Parent.Child in a with clause is, in
- >effect, really importing a version of Parent with Parent.Child nested
- >inside of it, so the declaration of Auxiliary_Type comes along.
-
- Given the above example, is the following code legal, I have been unable to
- determine if it is from the RM95:
-
- with Parent.Child;
- package My_Package is
-
- A: Parent.Child.Auxiliary_Type; -- or must I say A: Parent.Auxiliary_Type
-
- end My_Package;
-
- If the above is illegal then it presents a problem if I have a library
- level renaming of Parent.Child, like so:
-
- package My_Child renames Parent.Child;
-
- with My_Child;
- package Foo is
-
- A: My_Child.Auxiliary_Type; -- LEGAL?
-
- end Foo;
-
- If this type of naming is legal then there is a simple emulation of
- Norman's multi-part package proposal using child packages and a library
- level rename.
-
- --
- Mark Biggar
- mab@wdl.loral.com
-
-
-
-
-